package cn.jbolt.ai.app.service;

import cn.jbolt.ai.app.entity.AiApp;
import cn.jbolt.ai.app.vo.ActionData;
import cn.jbolt.util.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.jbolt.ai.app.entity.AiAppMessage;

public interface AiAppMessageService extends IService<AiAppMessage> {

    /**
     * 根据appid移除指定的消息
     * @param appId
     * @return
     */
    Result deleteMsgByAppId(Long appId);

    /**
     * 添加消息
     * @param appMessage
     * @return
     */
    Result add(AiAppMessage appMessage);

    /**
     * 更新消息
     *
     * @param appMessage
     * @return
     */
    Result update(AiAppMessage appMessage);


    /**
     * 更新消息的关联id
     * @param
     * @return
     */
    Result updateLinkId(Long LinkId,Long id);


    /**
     * 获取某个会话上下文消息
     * @param sessionId
     * @param startId
     * @param limit
     * @return
     */
    Result getSessionContextMsg(Long sessionId, Long startId,  Integer limit);


    /**
     * 生成问题跟答案这两个对象,存储数据,并把二者数据关联到一起,
     * 把答案返回
     *
     * @return
     */
    Result addMessageReturnAnswer(ActionData chatVO, String answer, AiApp aiApp, Long sessionId);

    Result regenerateMsg(Long msgId, String content);

    Result listByPage(String sessionId, Long startId, Integer pageSize);

    Result delete(Long sessionId);

    Result delMsgById(Long msgId);
}
